package fa7.socialcode.web;

import java.io.Serializable;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

import org.apache.commons.beanutils.BeanComparator;
import org.apache.commons.collections.comparators.ReverseComparator;


import fa7.socialcode.service.AvaliacaoManager;
import fa7.socialcode.service.DenunciaManager;

public class DenunciaList implements Serializable{
	
	private static final long serialVersionUID = -3196965012914327327L;
	
	private DenunciaManager denunciaManager;
    private String sortColumn = "id";
    private boolean ascending = true;
    
    public String getSortColumn() {
        return sortColumn;
    }
    
    public void setSortColumn(String sortColumn) {
        this.sortColumn = sortColumn;
    }   
    
    public boolean getAscending() {
        return ascending;
    }
    
    public void setAscending(boolean ascending) {
        this.ascending = ascending;
    }
    
    public void setDenunciaManager (DenunciaManager denunciaManager){
    	this.denunciaManager = denunciaManager; 
    }
    
    public List getDenuncias(){
    	
    	List denuncias = denunciaManager.findDenuncias();
    	
    	Comparator comparator = null;
    	
    	if (sortColumn.equalsIgnoreCase("date")) {
            comparator = new BeanDateComparator(sortColumn);
        } else {
            comparator = new BeanComparator(sortColumn);
        }

        if (!ascending) {
            comparator = new ReverseComparator(comparator);
        }
        
        Collections.sort(denuncias, comparator);
        
        return denuncias;
    }
    
    
}
